package cn.iocoder.yudao.module.xkfz.domain.excel.entity;

import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import cn.iocoder.yudao.module.xkfz.group.ImportGroup;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import javax.validation.constraints.Pattern;
import java.util.Date;
import java.io.Serializable;

/**
 * 成果奖项(AchievementAward)实体类
 *
 * @author makejava
 * @since 2024-08-06 17:14:13
 */
@Data
@TableName("ACHIEVEMENT_AWARD")
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = false)
@KeySequence("ACHIEVEMENT_AWARD_SEQ")
public class AchievementAward  extends TenantBaseDO implements Serializable {
    private static final long serialVersionUID = 389107254192024050L;
    /**
     * 主键
     */
    @TableField("ID")
    @Schema(description = "主键")
    @ExcelProperty(index = -1)
    private Long id;
    /**
     * 项目名
     */
    @TableField("PROJECT_NAME")
    @Schema(description = "项目名称")
    @ExcelProperty("项目名称")
    private String projectName;
    /**
     * 完成人
     */
    @TableField("COMPLETED_BY")
    @Schema(description = "主要完成人")
    @ExcelProperty("主要完成人")
    private String completedBy;
    /**
     * 奖项类型
     */
    @TableField("AWARD_TYPE")
    @Schema(description = "奖项类型")
    @ExcelProperty("奖项类型")
    private String awardType;
    /**
     * 科室名称
     */
    @TableField("DEPT_NAME")
    @Schema(description = "科室")
    @ExcelProperty("科室")
    private String deptName;
    /**
     * 得分类型
     */
    @TableField("SCORE_TYPE")
    @Schema(description = "得分类型")
    @ExcelProperty("得分类型")
    @Pattern(regexp = "^(获中华医学科技奖、江苏省科学技术奖、教育部一等奖|获中华医学科技奖、江苏省科学技术奖、教育部二等奖|获中华医学科技奖、江苏省科学技术奖、教育部三等奖及青年奖|其他奖项-青年奖)$", message = "name字段的值必须是...", groups = ImportGroup.class)
    private String scoreType;
    /**
     * 所属年份
     */
    @TableField("PERIOD_TIME")
    @Schema(description = "所属年份")
    @ExcelProperty("所属年份")
    private String periodTime;

    @TableField("INDEX_ID")
    private String indexId;
}
